Skip to content

ci(hypatia-scan): restore hardened workflow (supersedes #129)#142

Merged
hyperpolymath merged 1 commit into
mainfrom
restore/hardened-hypatia-scan-2026-05-14
May 14, 2026
Merged

ci(hypatia-scan): restore hardened workflow (supersedes #129)#142
hyperpolymath merged 1 commit into
mainfrom
restore/hardened-hypatia-scan-2026-05-14

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Supersedes #129 (which had conflicts because hypatia-scan.yml was deleted from main).

This PR restores the hardened v2 workflow file with identical content from the original ci/adopt-hardened-hypatia-scan-workflow-v2 head branch.

After merge: #129 will be closed and its branch deleted.

Workflow file was deleted from main; this commit restores the hardened
v2 workflow from PR #129 head branch directly into main via fresh PR.
File content identical to ci/adopt-hardened-hypatia-scan-workflow-v2.
@hyperpolymath hyperpolymath merged commit 4f43a8c into main May 14, 2026
@hyperpolymath hyperpolymath deleted the restore/hardened-hypatia-scan-2026-05-14 branch May 14, 2026 20:59
hyperpolymath added a commit that referenced this pull request May 16, 2026
…uard

main had been silently gutted from 1777 files to 2 by a squash-merge
from a near-empty base (the post-#126/#128/#141/#142 sequence). The
loss went unrepaired for months and broke hypatia's Phase-2 learning
submission estate-wide: scripts/submit-finding.sh — the findings sink
hypatia-scan.yml execs in every consuming repo — no longer existed,
exit-127ing the security gate for any repo with >=1 finding.

This restores the full repo to last-good tree 9b0a29e (the last
first-parent commit on main before the deletion: all bots, scripts/,
shared-context/, dashboard, docs, robot-repo-automaton/, etc.),
preserving the only two legitimate post-deletion improvements:

  * .github/workflows/secret-scanner.yml — kept current main (#141:
    step-level Cargo.toml gate).
  * .github/workflows/hypatia-scan.yml — replaced with the canonical
    post-hypatia#252 hardened workflow (Layer-1: Phase-2 step is
    continue-on-error + self-healing, so a future fleet-side hiccup
    can never again hard-fail the gate).

scripts/submit-finding.sh is the already-hardened version (input
validation, JSON-shape normalisation, best-effort push with
::warning::, repository_dispatch intake) — restored verbatim, mode
0755.

"Forever" guard: .github/workflows/repo-integrity-guard.yml fails any
push/PR to main that (a) deletes >50 tracked files vs base without an
explicit [mass-delete-ok] marker, or (b) drops a critical path
(scripts/submit-finding.sh, run-fleet.sh, fleet-coordinator.sh,
README.adoc). A stale-base squash can no longer silently nuke main.

Refs hyperpolymath/hypatia#252

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant